﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using DiscoveryLogic.Analytics.DataObjects.Networks;

namespace DiscoveryLogic.Analytics.DataObjects.Measures
{
    public class NetworkRoute
    {
        private EntityBase _FromEntity;
        /// <summary></summary>
        public EntityBase FromEntity
        {
            get
            {
                return this._FromEntity;
            }
            set
            {
                this._FromEntity = value;
            }
        }

        private EntityBase _ToEntity;
        /// <summary></summary>
        public EntityBase ToEntity
        {
            get
            {
                return this._ToEntity;
            }
            set
            {
                this._ToEntity = value;
            }
        }

        private List<Link> _Path;
        /// <summary></summary>
        public List<Link> Path
        {
            get
            {
                return this._Path;
            }
            set
            {
                this._Path = value;
            }
        }

        private double _Distance;
        /// <summary></summary>
        public double Distance
        {
            get
            {
                return this._Distance;
            }
            set
            {
                this._Distance = value;
            }
        }

        private int _Hops;
        /// <summary></summary>
        public int Hops
        {
            get
            {
                return this._Hops;
            }
            set
            {
                this._Hops = value;
            }
        }

        public NetworkRoute(EntityBase fromEntity, EntityBase toEntity,
            List<Link> links, double distance, int hops)
        {
            this._FromEntity = fromEntity;
            this._ToEntity = toEntity;
            this._Path = links;
            this._Distance = distance;
            this._Hops = hops;
        }
    }
}
